'use strict'

define([ 'jquery', 'bootstrap', 'select2', 'shiftform', 'validate',
		'validate.en', 'datetimepicker'], function($) {
	return {
	    init : function() {
	        
	        this.initPage();
	        this.start();
	        this.submit();
	        
	      },
	      
	      initPage : function() {
	        
	        $('.practice-option').click(function() {
	          var that = this
	          
	          var qualify = $(this).find("div").data("qualify");
	          var score = $(this).find("div").data("option");
	          $(this).parent("tr").find(".score").empty().append("<span>" + score + "</span>");
	          $(this).addClass("color-level").siblings().removeClass("color-level");
	          
	          var qualifyName = 'qualify' + qualify + 'Score';
	          $('input[name="' + qualifyName + '"]').val(score);
	        
	        })
	      },
	      start: function() {
	          var that = this
	          $(document).on('shown.bs.modal', '#start', function(e){
	                
	              $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
	                
	              var $form = $(e.currentTarget).find("form")                          //bind shiftform
	              $form.shiftform({
	                beforeSubmit : function(el) {
	                  $form.trigger("validate.ajax.submit");
	                  return $.bt_validate.result[$.bt_validate.form_id]
	                }
	              })
	          })
	      }
	      ,
	      submit: function() {
	          var that = this
	          $(document).on('shown.bs.modal', '#submit', function(e){
	                
	              $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
	                
	              var $form = $(e.currentTarget).find("form")                          //bind shiftform
	              $form.shiftform({
	                beforeSubmit : function(el) {
	                  $form.trigger("validate.ajax.submit");
	                  return $.bt_validate.result[$.bt_validate.form_id]
	                }
	              })
	          })
	      }
	      ,
	      edit: function() {
	          var that = this
	          $(document).on('shown.bs.modal', '#edit', function(e){
	                
	              $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
	                
	              var $form = $(e.currentTarget).find("form")                          //bind shiftform
	              $form.shiftform({
	                beforeSubmit : function(el) {
	                  $form.trigger("validate.ajax.submit");
	                  return $.bt_validate.result[$.bt_validate.form_id]
	                }
	              })
	          })
	      }
	}
})
